热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Elasticsearch|Kibana安装和使用

文章目录前言一、ElasticsearchDocker安装二、KibanaDocker安装三、测试方法四、Elasticsearch简单使用五、整体的系统的使用方式六、Spring


文章目录

      • 前言
      • 一、Elasticsearch Docker安装
      • 二、Kibana Docker安装
      • 三、测试方法
      • 四、Elasticsearch简单使用
      • 五、整体的系统的使用方式
      • 六、Springboot整合ElasticSearch
      • 参考资料


前言

elasticsearch的前置知识可以看这里全文搜索引擎 Elasticsearch 入门教程 这里从概念的操作都有


一、Elasticsearch Docker安装

// 拉镜像, 记得带版本号
docker pull elasticsearch:7.2.0// 运行容器,注意自己的内存大小,默认1G,这里设置成256m
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 --name ES01 elasticsearch:7.6.2

验证地址
http:ip地址:9200

如过以上执行后不起来,删除容器,执行这个(有错误原因是内存大小和缺少配置)

// 删除容器
docker rm ES01
// 配置内存大小vi /etc/sysctl.conf 在末尾加上 vm.max_map_count=262144
// 重启构建容器
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -e "discovery.type=single-node" -d -p 9200:9200 -p 9300:9300 --name ES01 elasticsearch:7.6.2

过了一会,容器又Exited (137),查了下分配内存不够的原因,还是需要内存的,7.6.2的版本256m看来不是很够,还是要更大的,内存小的还是安装低版本的吧(6.4.3可)

需要高版本又没那么大的服务期还是虚拟机吧

至于为啥两个端口:


9200:使用http请求,所以我们的rest方式的client要使用这个端口进行访问
9300:使用tcp请求,是系统预留给es内部组件之间的通信方式


我后来安装了kibana后,发现我的破电脑跑不了这么多东西
就重新下了个低版本的(一开始7.2.0可以用,但是自从我给他挤爆了后,就起不来,就安装了低版本)
在这里插入图片描述
没办法,配置低
在这里插入图片描述
两天过去了,发现只是那时候没看日志,如果出问题可以使用

docker logs 容器名称/容器ID

来查看错误原因,如下,找到最后的[error]即可


二、Kibana Docker安装

因为内存大小原因我就不安装了,步骤很简单就下面

// 拉镜像
docker pull kibana:5.6.9// 运行容器,设置对应elasticsearch的地址
docker run --name kibana -e ELASTICSEARCH_URL=http://ip:9200 -p 5601:5601 -d kibana:7.2.0

验证地址
http://ip地址:5601


三、测试方法

我是使用postman进行测试的

get请求可以直接浏览器访问 | 命令行curl + 地址访问

post | put请求也可以使用 curl -X PUT + 地址访问 (注意PUT要大写)


四、Elasticsearch简单使用


  1. 查看集群的健康情况(get)

http://reentrantlock.cn:9200/_cat

在这里插入图片描述
2. 查看es的健康状况 (get)

http://reentrantlock.cn:9200/_cat/health?v

说明:v是用来要求在结果中返回表头
在这里插入图片描述
图片来自Elasticsearch解决健康状态异常问题
图片来自网络


  1. 查看所有索引 - 一开始应该只有表头(get)

http://reentrantlock.cn:9200/_cat/indices?v

在这里插入图片描述
4. 创建索引 - pretty作用同mongodb的pretty,用于返回结构化的数据(就是更好看的数据-结构(json)上)

http://reentrantlock.cn:9200/customer?pretty

在这里插入图片描述
这时候可以调用之前的查询索引查看变化

如果创建相同的索引会报错
在这里插入图片描述
5. 索引一个文档到customer索引中

http://reentrantlock.cn:9200/customer/_doc/1

在这里插入图片描述
6. 从customer索引中获取指定id的文档

http://reentrantlock.cn:9200/customer/_doc/1

在这里插入图片描述


  1. 获取指定索引下所有文档

http://reentrantlock.cn:9200/customer/_search

在这里插入图片描述
参数含义:


took: 是查询花费的时间,毫秒单位
time_out: 标识查询是否超时
_shards: 描述了查看分片的信息,查询了多少个分片、成功的分片数量、失败的分片数量等。
total: 代表当前ES里总数只有一条数据,不管你发送任何请求,ES都会把总数返回
hits: 搜索的结果,total是全部满足的文档数目,hits是返回的实际数目(默认是10)
_score: 是文档的分数信息,与排名相关度有关,参考各大搜索引擎的搜索结果,就容易理解
_index: 指定查询的索引(类似数据库的某个库)
_type: 指定查询的文档(类似数据库的某个表)
_id: 查询指定的id
_source: 查询返回的数据



五、整体的系统的使用方式

// TODO 完成官方的demo练习
完成了简单的使用后,觉得还是应该看下官网的demo好好走一次,为了结构不乱,我另开一篇专门说。


六、Springboot整合ElasticSearch

试了一个上午,发现各种版本会出现各种问题,找个时间另外发布一篇


参考资料


  1. Docker系列之Elasticsearch安装教程
  2. docker快速安装kibana
  3. ElasticSearch 最全详细使用教程
  4. ElasticSearch的介绍及使用
  5. 官网Demo

推荐阅读
  • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
    本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
  • 本文介绍了使用postman进行接口测试的方法,以测试用户管理模块为例。首先需要下载并安装postman,然后创建基本的请求并填写用户名密码进行登录测试。接下来可以进行用户查询和新增的测试。在新增时,可以进行异常测试,包括用户名超长和输入特殊字符的情况。通过测试发现后台没有对参数长度和特殊字符进行检查和过滤。 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • 2018深入java目标计划及学习内容
    本文介绍了作者在2018年的深入java目标计划,包括学习计划和工作中要用到的内容。作者计划学习的内容包括kafka、zookeeper、hbase、hdoop、spark、elasticsearch、solr、spring cloud、mysql、mybatis等。其中,作者对jvm的学习有一定了解,并计划通读《jvm》一书。此外,作者还提到了《HotSpot实战》和《高性能MySQL》等书籍。 ... [详细]
  • 使用Postman调试API遇到“400 Bad Request”问题
    问题今日使用Postman调试一个临时接手的API,参照调用程序代码填充好请求头、请求体参数(post),Postman客 ... [详细]
  • 此版本重点升级了Online代码生成器,支持更多的控件生成,所见即所得,极大的提高开发效率;同时做了数据库兼容专项工作,让Online开发兼容更多数据库:Mysql、SqlServer、Oracle、Postgresql等!!!项目介绍 ... [详细]
  • postmain报400_Postman测试@RequestBody发送请求时报400错误
    postman测试requestbody时碰到400错误图1原因:传参数如果不使用RequestBody,在使用Postman进行Post请求时,通常做 ... [详细]
  • 本文介绍了如何使用PHP向系统日历中添加事件的方法,通过使用PHP技术可以实现自动添加事件的功能,从而实现全局通知系统和迅速记录工具的自动化。同时还提到了系统exchange自带的日历具有同步感的特点,以及使用web技术实现自动添加事件的优势。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 本文总结了Java中日期格式化的常用方法,并给出了示例代码。通过使用SimpleDateFormat类和jstl fmt标签库,可以实现日期的格式化和显示。在页面中添加相应的标签库引用后,可以使用不同的日期格式化样式来显示当前年份和月份。该文提供了详细的代码示例和说明。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
author-avatar
迷途羔羊1989_751
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有